package entradaSaida;

import javax.swing.JFileChooser;
import javax.swing.JPanel;

public abstract class EscritorArquivo {
	
	protected String caminhoArquivo;
	protected String extensaoArquivo;
	
	public String escolherCaminhoArquivo(boolean diretorio){
		JFileChooser jfc = new JFileChooser();
		if(diretorio) jfc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
		int value = jfc.showOpenDialog(new JPanel());
		if(value == JFileChooser.APPROVE_OPTION){
			String outputPath = jfc.getSelectedFile().getPath();
			return outputPath;
		}
		return null;
	}

	public abstract void escreverCabecalho(double p, double taxa, int qtdSimul, int retaliacao, String[] dados) throws Exception;
	
	public abstract void escreverNoArquivo(String s) throws Exception;
	
	public abstract void fecharArquivo() throws Exception;
	
	public String getCaminhoArquivo() {
		return caminhoArquivo;
	}

	public void setCaminhoArquivo(String caminhoArquivo) {
		if(!caminhoArquivo.endsWith(this.extensaoArquivo))
			this.caminhoArquivo = caminhoArquivo+this.extensaoArquivo;
		else 
			this.caminhoArquivo = caminhoArquivo;
	}

}
